//
//  VisitorTableViewController.swift
//  glzbowei
//
//  Created by 高伦展 on 2017/11/19.
//  Copyright © 2017年 glz. All rights reserved.
//

import UIKit

class VisitorTableViewController: UITableViewController {

    //用户登录标记
    private var userLogin = UserAccountViewModel.sharedUserAccount.userLogin
    
    /**
     1.应用程序中有几个 visitorView ？ - 每个控制器各自有各自不同的 访客视图！
     2.访客视图如果用懒加载会怎样？ - 如果使用懒加载，访客视图始终都会被创建出来！
     */
    
    //访客视图
    var visitorView:VisitorView?
    
    override func loadView() {
        
        //根据用户登录情况，决定显示的根视图
        userLogin ? super.loadView() : setupVisitorView()
         
    }
    
    private func setupVisitorView(){
        //替换更视图
        visitorView = VisitorView()
        
//        //设置代理 （5）
//        visitorView?.delegate = self
        
        view = visitorView
        //view.backgroundColor = UIColor.orange;
        
        visitorView?.registerButton.addTarget(self, action: #selector(VisitorTableViewController.visitorViewDidRegistor), for: .touchUpInside)
        
        visitorView?.loginButton.addTarget(self, action: #selector(VisitorTableViewController.visitorViewDidLogin), for: .touchUpInside)
       
    
        //设置导航栏按钮
        navigationItem.leftBarButtonItem = UIBarButtonItem(title: "注册", style: .plain, target: self, action: #selector(VisitorTableViewController.visitorViewDidRegistor))
        
        navigationItem.rightBarButtonItem = UIBarButtonItem(title: "登录", style: .plain, target: self, action: #selector(VisitorTableViewController.visitorViewDidLogin))
    }
}

//// MARK: - 访客视图监听方法 （6）
//extension VisitorTableViewController:VisitorViewDelegate{
//    func visitorViewDidRegistor() {
//        print("注册")
//    }
//
//    func visitorViewDidLogin() {
//        print("登录")
//    }
//
//}

extension VisitorTableViewController{
   @objc func visitorViewDidRegistor() {
        print("注册")
    }

   @objc func visitorViewDidLogin() {
    
      let vc = OAuthViewController()
    
      let nav = UINavigationController(rootViewController: vc);
    
      present(nav, animated: true) { }
    }

}

